package cn.example.vip.mall.cart.feign;

import cn.example.vip.mall.cart.entity.Cart;
import cn.example.vip.mall.util.RespResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(value = "mall-cart", path = "/cart", contextId = "mall-cart-service")
public interface CartFeign {
	/**
	 * 商品添加到购物车
	 * @param id 商品id
	 * @param num 商品数量
	 * @return
	 */
	@GetMapping("/{id}/{num}")
	RespResult addCart(@PathVariable("id") String id,
							  @PathVariable("num")Integer num);
	
	/**
	 * 查询用户购物车列表
	 * @return
	 */
	@GetMapping("/list")
	RespResult<List<Cart>> queryCartList();
	
	/**
	 * 查询购物车,用户选中的商品
	 */
	@PostMapping("/list")
	RespResult<List<Cart>> queryCarts(@RequestBody List<String> ids);
	
	/**
	 * 删除用户选中并购买的商品
	 */
	@DeleteMapping
	RespResult<List<Cart>> delCarts(@RequestBody List<String> ids);
}
